Results of the Veri cation of a ComplexPipelined

نویسندگان

  • Jun Sawada
  • Warren A. Hunt
چکیده

Using a theorem prover, we have veriied a microprocessor design, FM9801. We deene our correctness criterion for processors with speculative execution and interrupts. Our veriication approach deenes an invariant on an intermediate abstraction that records the history of instructions. We veriied the invariant rst, and then proved the correct-ness criterion. We found several bugs during the veriication process. 1 FM9801 and Correctness Criterion We argue that even complex microprocessor design can be formally veriied. As an evidence of our claim, we have mechanically veriied our FM9801 microprocessor design. It has various features such as out-of-order issue and completion of instructions with Tomasulo's algorithm, speculative execution with branch prediction, precise handling of internal exceptions and external interrupts, and supervisor/user modes. The FM9801 is formally speciied in the ACL2 logiccKM96] at the instruction-set architecture (ISA) level and the microarchitecture (MA) level. These formal deenitions are publicly available along with the FM9801 veriication scriptssSaw]. The ISA sequentially executes instructions. Its behavior is speciied with function ISA-step(ISA; intr), which returns the ISA state after executing one instruction from state ISA, with interrupt signal intr. The MA is a clock cycle accurate model of the pipelined hardware design. Its behavioral function MA-step(MA; sigs) returns the MA state after one clock cycle of execution with external signals sigs. We deene ISA-stepn(ISA; intr-list; m) as the recursive function that repeatedly applies the next state function ISA-step to state ISA m times, where intr-list is a list of interrupt signals for each execution step. Similarly, we de-ne MA-stepn(MA; sig-list; n) as n applications of MA-step with a list of signals sig-list. Projection function proj(MA) returns the ISA state consisting of the program counter, the register le, and the memory in MA. Our correctness criterion is whether our machine designs satisfy the commu-tative diagram shown in Fig. 1. For an arbitrary initial MA state MA 0 , a list of signals sig-list, and a natural number n, if the initial state MA 0 and the nal state MA n = MA-step(MA 0 ; sig-list; n) are both pipeline ushed states, then proj(MA-stepn(MA 0 ; sig-list; n)) = ISA-step(proj(MA 0); intr-list; m) should hold for an appropriate list of interrupt signals intr-list and a natural number m. We additionally assume that the executed program does not modify itself.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Discriminative utterance verification using multiple confidence measures

This paper proposes an utterance veri cation system for hidden Markov model (HMM) based automatic speech recognition systems. A veri cation objective function, based on a multi-layer-perceptron (MLP), is adopted which combines con dence measures from both the recognition and veri cation models. Discriminative minimum veri cation error training is applied for optimizing the parameters of the MLP...

متن کامل

Importing the Results of Automatic Hardware Veri cation into HOL

Formal hardware veri cation systems can be split into two categories: theorem proving systems and automatic nite state machine based systems. Each approach has its own complementary advantages and disadvantages. In this paper, we consider the combination of two such systems: HOL (a theorem proving system) and MDG (an automatic system). As HOL hardware veri cation proofs are based on the hierarc...

متن کامل

Towards a Verification Technique for Large Synchronous Circuits

We present a symbolic simulation based veri cation approach which can be applied to large synchronous circuits A new technique to encode the state and input constraints as parametric Boolean expressions over the state and input variables is used to make our symbolic simulation based veri cation approach e cient The constraints which are encoded through parametric Boolean expressions can involve...

متن کامل

Abstraction and Modular Veriication of Innnite-state Reactive Systems ?

ion and Modular Veri cation of In nite-State Reactive Systems ? Zohar Manna, Michael A. Col on, Bernd Finkbeiner, Henny B. Sipma and Tom as E. Uribe Computer Science Department Stanford University Stanford, CA. 94305-9045 [email protected] Abstract. We review a number of temporal veri cation techniques for reactive systems using modularity and abstraction. Their use allows the veri cation o...

متن کامل

VERIFUL : VERI cation using FUnctional Learning

It is well known that learning (i.e., indirect implications) based techniques perform very well in many instances of combinational circuit veri cation when the two circuits being veri ed have many corresponding internal equivalent points. We present some results on combinational circuit design veri cation using a powerful, and highly general learning technique called functional learning. Functi...

متن کامل

Continuous Veri cation by Discrete Reasoning

Two semantics are commonly used for the behavior of real-time and hybrid systems: a discrete semantics, in which the temporal evolution is represented as a sequence of snapshots describing the state of the system at certain times, and a continuous semantics, in which the temporal evolution is represented by a series of time intervals, and therefore corresponds more closely to the physical reali...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999